//
//  main.m
//  C02_作业
//
//  Created by dllo on 15/11/18.
//  Copyright © 2015年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    
#if 0
    /** 1.输入一个整数，判断奇偶，并输出“某某是奇数”或者“某某是偶数” */
    {
    int number = 0;
    printf("请输入一个整数:");
    scanf("%d", &number);
    if (0 == number % 2) {
        printf("%d是偶数\n",number);
    } else {
        printf("%d是奇数\n",number);
    }
    }
#endif
#if 0
    /** 2.输入一个数，判断符号。如果大于0，输出“正数”；如果小于0，输出“负数”；如果等于0，输出“0” */
    {
    int number = 0;
    printf("请输入一个数:");
    scanf("%d", &number);
    if (number > 0) {
        printf("正数\n");
    } else if(number < 0){
        printf("负数\n");
    } else {
        printf("0\n");
    }
    }
#endif
#if 0
    /** 3.编程判断3人中谁的年龄最大，并打印最大者的年龄 */
    {
    int age1 = 0;
    int age2 = 0;
    int age3 = 0;
    int max = 0;
    printf("请输入三个人的年龄:");
    scanf("%d%d%d", &age1,&age2,&age3);
    max = age1 > age2 ? age1 : age2;
    max = max > age3 ? max : age3;
    printf("最大年龄为%d\n", max);
    }
#endif
#if 0
    /** 4.铁路托运行李规定：行李重不超过50公斤的，托运费按0.15元每公斤计算，如果超过50公斤，超出部分每公斤加收0.1元。编程实现上述功能 */
    {
    int weight = 0;
    printf("请输入行李重量:");
    scanf("%d", &weight);
    float money = 0;
    if (weight <= 50) {
        money = 0.15 * weight
        printf("付费:%.2lf\n",0.15 * weight);
    } else {
        printf("付费:%.2lf\n",(weight - 50) * 0.1 + 50 * 0.25);
    }
    }
#endif
#if 0
    /** 5.有一个函数：x<1的时候，y = x；1<=x<10的时候，y=2x-1；x>=10的时候，y=3x-11。写一段程序，输入x，输出y值 */
    {
    int x = 0;
    printf("请输入数值x:");
    scanf("%d", &x);
    if (x < 1) {
        printf("y =%d\n",x);
    } else if(x >= 1 && x < 10){
        printf("y = %d\n",2 * x-1);
    } else {
        printf("y =%d\n",3 * x - 11);
    }
    }
#endif
#if 0
    /** 6.编写一个完成两个数四则运算的程序。如：用户输入34+56则输出结果为90.00，要求运算结果保留2位有效小数，用户输入时将2个运算数以及运算符都输入，根据运算符求结果*/
    {
    int a = 0;
    char x = 0;
    int b = 0;
    printf("请输入两个数的四则运算:");
    scanf("%d%c%d",&a, &x, &b);
    if ('+' == x) {
        printf("%d + %d = %.2d\n", a, b, a + b);
    } else if('-' == x){
        printf("%d - %d = %.2d\n", a, b, a - b);
    } else if ('*' == x){
        printf("%d * %d = %.2d\n", a, b, a * b);
    } else if ('/' == x){
        printf("%d / %d = %.2d\n", a, b, a / b);
    }
    }
#endif
#if 0
    /** 7.输入3个数，判断是否能构成三角形 */
    {
        int a = 0;
        int b = 0;
        int c = 0;
        printf("请输入三个数:");
        scanf("%d%d%d", &a, &b, &c);
        if (a + b > c && a + c > b && b + c > a) {
            printf("能构成三角形\n");
        } else {
            printf("不能构成三角形\n");
        }
    }
#endif
    /** 8.输入三个数，用两种方法打印出中间值（即第二大值） 提示：第一种，先求最大最小；第二种，只使用比较运算符 */
    {
#if 0   /** 第一种 */
        int a = 0;
        int b = 0;
        int c = 0;
        int max = 0;
        int min = 0;
        printf("请输入三个数:");
        scanf("%d%d%d", &a, &b, &c);
        max = a > b ? a : b;
        max = max > c ? max : c;
        min = a < b ? a : b;
        min = min < c ? min : c;
        printf("中间值为%d\n",a + b + c - max - min);
#endif
#if 0 /** 第二种 */
        int a = 0;
        int b = 0;
        int c = 0;
        printf("请输入三个数:");
        scanf("%d%d%d", &a, &b, &c);
        if ((a >= b && a <= c) || (a >=c && a <= b)) {
            printf("三个数的中间值为%d\n", a);
        } else if ((b >= a && b <= c) || (b >= c && b <= a)){
            printf("三个数的中间值为%d\n", b);
        } else if ((c >= a && c <= b) || (c >= b && c <= a)){
            printf("三个数的中间值为%d\n", c);
        }
#endif
    }
#if 0
    /* 综合练习: ATM机取款
     * 通过if语句实现银行取款功能
     (1).先用if判断卡号是不是有效，然后用if…else…提示用户账户有效或者无效。
     (2).引导学员完成判断输入一次密码。
     (3).引导学员用if嵌套实现三次输入密码逻辑。
     (4).引导学员用级联式if语句实现存款、取款、查询余额功能。
     */
    {
    
    
    int cardNumber = 0;
    int cardCode = 0;
    int meidao = 0;
    char x = 0;
    int money = 1000;
    printf("请输入六位卡号:");
    scanf("%d", &cardNumber);
    if (cardNumber != 888888) {     //卡号输入错误
        printf("卡号错误,请重新输入\n");
    } else {
        printf("卡号正确,请输入六位密码:");    //卡号正确,进入下一项
        scanf("%d", &cardCode);
        if (cardCode == 123456) {    //第一次密码输入正确,进入下一项
            printf("请选择以下服务:\n");
            printf("存款请按 '+' \n");
            printf("取款请按 '-' \n");
            printf("查询余额请按 '$' \n");
            
            
            printf("请输入您要选择的服务:");
            rewind(stdin);              // 刷新输入函数scanf键盘缓冲区
            scanf("%c", &x);
            if (x == '+') {             // 存钱
                printf("请输入存款金额:");
                rewind(stdin);
                scanf("%d", &money);
                printf("现在您的余额为:%d\n",meidao + money);
            }
            else if(x == '-'){          // 取钱
                printf("请输入取款金额:");
                rewind(stdin);
                scanf("%d", &money);
                printf("现在您的余额为:%d\n",meidao - money);
            }
                else if(x == '$'){       // 查询余额
                    printf("您的当前余额为:%d\n",money);
            }
        }
        else if(cardCode != 123456){
            printf("密码错误,今天还有两次输入机会\n");  //密码第一次输入错误
            printf("请输入六位密码:");
            scanf("%d", &cardCode);
            if (cardCode == 123456) {  //第二次密码输入正确,进入下一项  没写完
                printf("请选择以下服务:\n");
                printf("存款请按 '+' \n");
                printf("取款请按 '-' \n");
                printf("查询余额请按 '$' \n");
                
                
                printf("请输入您要选择的服务:");
                rewind(stdin);              // 刷新输入函数scanf键盘缓冲区
                scanf("%c", &x);
                if (x == '+') {             // 存钱
                    printf("请输入存款金额:");
                    rewind(stdin);
                    scanf("%d", &money);
                    printf("现在您的余额为:%d\n",meidao + money);
                }
                else if(x == '-'){          // 取钱
                    printf("请输入取款金额:");
                    rewind(stdin);
                    scanf("%d", &money);
                    printf("现在您的余额为:%d\n",meidao - money);
                }
                else if(x == '$'){       // 查询余额
                    printf("您的当前余额为:%d\n",money);

                
            }
            }
            else if(cardCode != 123456){
                printf("密码错误,今天还有一次输入机会\n");  //密码第二次输入错误
                printf("请输入六位密码:");
                scanf("%d", &cardCode);
                if (cardCode == 123456) {  //第三次密码输入正确,进入下一项  没写完
                    printf("请选择以下服务:\n");
                    printf("存款请按 '+' \n");
                    printf("取款请按 '-' \n");
                    printf("查询余额请按 '$' \n");
                    
                    
                    printf("请输入您要选择的服务:");
                    rewind(stdin);              // 刷新输入函数scanf键盘缓冲区
                    scanf("%c", &x);
                    if (x == '+') {             // 存钱
                        printf("请输入存款金额:");
                        rewind(stdin);
                        scanf("%d", &money);
                        printf("现在您的余额为:%d\n",meidao + money);
                    }
                    else if(x == '-'){          // 取钱
                        printf("请输入取款金额:");
                        rewind(stdin);
                        scanf("%d", &money);
                        printf("现在您的余额为:%d\n",meidao - money);
                    }
                    else if(x == '$'){       // 查询余额
                        printf("您的当前余额为:%d\n",money);

                    
                }
                }
                else if(cardCode != 123456){
                    printf("傻逼,密码都记不住,明天再来吧!\n");  //密码第三次输入错误
                }
            }
        }
    }
    }
#endif

    
    
    
    return 0;
}
